Methods and systems for operating a printing apparatus

ABSTRACT

Various embodiments illustrated herein disclose a method comprising rendering a buffer image from a first image data received for printing. Further, the method includes scaling the buffer image to generated scaled buffer image. Furthermore, the method includes determining a first location of a machine readable indicia in the scaled buffer image. Additionally, the method includes causing a print head to print the buffer image on a print media to generate a printed content.

TECHNICAL FIELD

Example embodiments of the present disclosure relate generally to aprinting apparatus and, more particularly, to systems and methods foroperating the printing apparatus.

BACKGROUND

A typical printing apparatus may include a print head that may beconfigured to print content on print media. The printing apparatus mayfurther include a verifier that may be configured to evaluate a qualityof the printed content. For example, to perform the verificationoperation, the verifier may first scan the printed content (e.g.,capture an image of the printed content). Thereafter, the printingapparatus may be configured to evaluate the quality of the printedcontent based on the quality of the image of the printed content.

BRIEF SUMMARY

Various embodiments illustrated herein disclose a method comprisingrendering a buffer image from a first image data received for printing.Further, the method includes scaling the buffer image to generatedscaled buffer image. Furthermore, the method includes determining afirst location of a machine readable indicia in the scaled buffer image.Additionally, the method includes causing a print head to print thebuffer image on a print media to generate a printed content.

Various embodiments illustrated herein disclose a method for operating auser computing device. The method includes receiving an input from auser pertaining to printing a first image. Further, the method includesdetermining a first location of a machine readable indicia in the firstimage. Furthermore, the method includes converting to a bit stream.Additionally, the method includes transmitting an instruction to aprinting apparatus to print the first image, wherein the instructionincludes the bit stream, and the first location of the machine readableindicia.

Various embodiments illustrated herein disclose a printing apparatusthat includes a print head configured to print a buffer image on printmedia to generate a printed content, an image capturing unit configuredto capture a second image of a portion of the printed content, and aprocessor communicatively coupled to the print head and the imagecapturing unit. The processor is configured to scale the buffer image togenerated scaled buffer image. Further, the processor is configured todetermine a first location of a machine readable indicia in the scaledbuffer image. Furthermore, the processor is configured to determine asecond location of the machine readable indicia in the printed contentbased on the first location of the machine readable indicia in thescaled buffer image. Additionally, the processor is configured to causethe image capturing unit to capture the second image of the portion ofthe printed content based on the second location of the machine readableindicia.

BRIEF DESCRIPTION OF THE DRAWINGS

The description of the illustrative embodiments can be read inconjunction with the accompanying figures. It will be appreciated thatfor simplicity and clarity of illustration, elements illustrated in thefigures have not necessarily been drawn to scale. For example, thedimensions of some of the elements are exaggerated relative to otherelements. Embodiments incorporating teachings of the present disclosureare shown and described with respect to the figures presented herein, inwhich:

FIG. 1 illustrates a system environment where various embodiments of thedisclosure may be implemented;

FIGS. 2A, 2B, and 2C illustrate a perspective view of a printingapparatus, according to one or more embodiments described herein;

FIG. 3 illustrates a block diagram of a control unit of the printingapparatus, according to one or more embodiments described herein;

FIG. 4 illustrates a flowchart for operating the printing apparatus,according to one or more embodiments described herein;

FIG. 5 illustrates a flowchart of a method for printing the buffer imageon a print media, according to one or more embodiments described herein;

FIG. 6A illustrates a flowchart of a method for determining whether theprinted content is aligned with a verifier, according to one or moreembodiments described herein;

FIG. 6B illustrates a flowchart of a method for determining whether theportion of the printed content is aligned with a verifier, according toone or more embodiments described herein;

FIG. 7 illustrates a flowchart of a method for scaling the buffer image,according to one or more embodiments described herein;

FIG. 8 illustrates a flowchart of method for identifying ROI in thescaled buffer image, according to one or more embodiments describedherein;

FIG. 9 illustrates another flowchart of a method for identifying ROI inthe scaled buffer image, according to one or more embodiments describedherein;

FIG. 10 illustrates an example scaled buffer image comprising the ROI,according to one or more embodiments described herein;

FIG. 11 illustrates a flowchart of a method for translating the one ormore first locations to one or more second locations, according to oneor more embodiments described herein;

FIG. 12 illustrates an example scenario of verifying the printedcontent, according to one or more embodiments described herein;

FIG. 13 illustrates a block diagram of the user computing device,according to one or more embodiments described herein;

FIG. 14 illustrates a flowchart of a method for operating the usercomputing device, according to one or more embodiments described herein;and

FIG. 15 illustrates a flowchart of another method for operating theprinting apparatus, according to one or more embodiments describedherein.

DETAILED DESCRIPTION OF THE INVENTION

Some embodiments of the present disclosure will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the disclosure are shown. Indeed, thesedisclosures may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. Like numbers refer to like elements throughout.

Unless the context requires otherwise, throughout the specification andclaims which follow, the word “comprise” and variations thereof, suchas, “comprises” and “comprising” are to be construed in an open sense,that is as “including, but not limited to.”

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure or characteristicdescribed in connection with the embodiment is included in at least oneembodiment. Thus, the appearances of the phrases “in one embodiment” or“in an embodiment” in various places throughout this specification arenot necessarily all referring to the same embodiment. Furthermore, oneor more particular features, structures, or characteristics from one ormore embodiments may be combined in any suitable manner in one or moreother embodiments.

The word “example” or “exemplary” is used herein to mean “serving as anexample, instance, or illustration.” Any implementation described hereinas “exemplary” is not necessarily to be construed as preferred oradvantageous over other implementations.

If the specification states a component or feature “may,” “can,”“could,” “should,” “would,” “preferably,” “possibly,” “typically,”“optionally,” “for example,” “often,” or “might” (or other suchlanguage) be included or have a characteristic, that a specificcomponent or feature is not required to be included or to have thecharacteristic. Such component or feature may be optionally included insome embodiments, or it may be excluded.

The term “electronically coupled,” “electronically coupling,”“electronically couple,” “in communication with,” “in electroniccommunication with,” or “connected” in the present disclosure refers totwo or more components being connected (directly or indirectly) throughwired means (for example but not limited to, system bus, wired Ethernet)and/or wireless means (for example but not limited to, Wi-Fi, Bluetooth,ZigBee), such that data and/or information may be transmitted to and/orreceived from these components.

The terms “print media,” “physical print media,” “paper,” and “labels”refer to tangible, substantially durable physical material onto whichtext, graphics, images and/or the like may be imprinted and persistentlyretained over time. Physical print media may be used for personalcommunications, business communications, and/or the like to convey proseexpression (including news, editorials, product data, academic writings,memos, and many other kinds of communications), data, advertising,fiction, entertainment content, and illustrations and pictures. Physicalprint media may be generally derivatives of wood pulp or polymers, andincludes conventional office paper, clear or tinted acetate media, newsprint, envelopes, mailing labels, product labels, and other kinds oflabels. Thicker materials, such as cardstock or cardboard may beincluded as well. In exemplary embodiments discussed throughout thisdocument, reference may be made specifically to “paper” or “labels;”however, the operations, system elements, and methods of such exemplaryapplications may be applicable to media other than or in addition to thespecifically mentioned “paper” or “labels.”. In some embodiments, theprint media may correspond to a continuous media that may be loaded in aprinting apparatus in form of a roll or a stack, or may correspond tomedia that may be divided into a plurality of labels throughperforations defined along a width of the print media. Alternatively oradditionally, the print media may be divided into the plurality oflabels through one or more marks that are defined at a predetermineddistance from each other, along the length of the print media. In someexample embodiments, a contiguous stretch of the print media, betweentwo consecutive marks or two consecutive perforations, corresponds to alabel of the print media.

The terms “printer” and “printing apparatus” refer to a device that mayimprint texts, images, shapes, symbols, graphics such as barcodes,and/or the like onto print media to create a persistent, human-viewablerepresentation of the corresponding texts, images, shapes, symbols,graphics, and/or the like. Printers may include, for example, laserprinters, thermal printers, ink-jet printers, and/or the like.

The term “machine readable indicia” has been broadly intended to includeany indicia, including Linear symbols, 2D barcodes (such as QR code, andDatamatrix codes), RFID tags, IR tags, near-field-communication (NFC)tags, and characters that are readable by a computing device (forexample, an indicia scanner). Indicia are typically graphicalrepresentations of information (e.g., data), such as product numbers,package tracking numbers, patient identification numbers, medicationtracking identifiers, personnel identification numbers, etc.

The term “quality” may refer to standard or protocol based on whichcontent may be evaluated or compared with each other. For example,quality of printed content may be evaluated based on resolution of theprinted content, degree of conformity, print density, contrast withprint media and/or the like. In some examples, the quality of theprinted content may be further evaluated based on the quality of certainportions of the printed content. For example, the quality of the printedcontent may be evaluated based on quality of machine readable indicia inthe printed content. To this end, the quality of the machine readableindicia may be evaluated based on ANSI X3.182, ISO15415, and ISO/IEC15416 standards. The process of the evaluating the quality of themachine readable indicia is also referred to as grading the machinereadable indicia.

The term “location” may refer to a point or a single coordinate in animage. In some examples, the location in an image may be represented inone or more coordinate systems such as, but not limited Cartesiancoordinate system, Polar coordinate system, and/or the like.

A typical printing apparatus may include a verifier that may be utilizedto evaluate a quality of printed content. For example, the verifier maybe utilized to evaluate the quality of a machine readable indicia in theprinted content. In some examples, the verifier may scan the printedcontent to generate an image of the printed content. Further, theverifier may transmit the image of the printed content to a processor ofthe printing apparatus. The processor may identify and retrieve themachine readable indicia from the image of the printed content.Thereafter, the processor may evaluate the quality of the machinereadable indicia in the image of the printed content. Since the image ofthe printed content is a digital representation of the printed content,therefore, the quality of the machine readable indicia in the image ofthe printed content may be indicative of the quality of the machinereadable indicia in the printed content (i.e., the print quality of themachine readable indicia). In some examples, identifying and retrievingthe machine readable indicia directly from the image of the printedcontent is usually computationally intensive and may affect the overallefficiency of the printing apparatus.

Systems and methods described herein disclose a printing apparatus thatmay receive a first image data that includes information pertaining tothe first image, which is to be printed. In some examples, the printingapparatus may receive the first image data in form of a bit stream. Insome examples, the first image data may be representative of the firstimage. The printing apparatus may render a buffer image from the bitstream (included in the first image data). In an example embodiment, thebuffer image may be a representation of the first image. Additionally oralternately, the printing apparatus may scale the buffer image togenerate a scaled buffer image. In some examples, scaling the bufferimage may involve modifying a resolution of the buffer image. Forexample, the printing apparatus may reduce the resolution of the bufferimage during scaling of the buffer image. Concurrently, in someexamples, the printing apparatus may print the buffer image on the printmedia to generate printed content.

In some examples, the printing apparatus may identify a region ofinterest in the scaled buffer image. For example, the printing apparatusmay identify a machine readable indicia in the scaled buffer image asthe region of interest. Identifying the machine readable indicia in thescaled buffer image may include identifying one or more first locationsin the buffered image. In some examples, identifying the one or morefirst locations in the scaled buffer image may include determiningcoordinates of the one or more first locations in the scaled bufferimage. In an example embodiment, the one or more first locations mayencompass the machine readable indicia in the scaled buffer image. Moreparticularly, the one or more first locations may define a periphery ofthe machine readable indicia in the scaled buffer image. Using the oneor more first locations (which encompasses the machine readable indiciain the buffered image), the printing apparatus may be configured todetermine one or more second locations on the printed content, whichencompass the machine readable indicia in the printed content. In someexamples, the one or more second locations encompassing the machinereadable indicia in the printed content may be different from the one ormore first locations encompassing the machine readable indicia in thescaled buffer image. Such difference in the locations may be due to thedifference in the resolution of the printed content and the scaledbuffer image. Accordingly, the printing apparatus may determine the oneor more second locations on the printed content based on at least theresolution of the scaled buffer image.

In some examples, the printing apparatus may cause the verifier (in theprinting apparatus) to scan the printed content. In an exampleembodiment, scanning the printed content causes the verifier to generatea second image of the printed content. From the second image, theprinting apparatus may retrieve a portion of the second image based onthe one or more second locations. In an example embodiment, the one ormore second locations may define a periphery of the portion of thesecond image. Since the one or more second locations encompass themachine readable indicia in the printed content and the second image isa digital representation of the printed content therefore, the portionof the second image (encompassed by the one or more second locations inthe second image) may include the machine readable indicia. Thereafter,the printing apparatus may evaluate the quality of the machine readableindicia in portion of the second image. The quality of the machinereadable indicia in the portion of the second image is reflective of theprint quality of the machine readable indicia in the printed content.

Additionally or alternatively, the printing apparatus may cause theverifier (in the printing apparatus) to scan a portion of the printedcontent to generate the second image. For example, the printingapparatus may cause the verifier to only scan the portion of the printedimage that is encompassed by the one or more second locations in theprinted content. As discussed, the one or more second locationsencompass the machine readable indicia. Accordingly, the second imagemay only include the machine readable indicia. Thereafter, the printingapparatus may evaluate the quality of the machine readable indicia inthe second image. The quality of the machine readable indicia in thesecond image is reflective of the print quality of the machine readableindicia in the printed content.

Since the one or more second locations, used to retrieve the region ofinterest from the printed content, are determined by utilizing thescaled buffer image, therefore, the computational resources required toidentify and retrieve the region of interest directly from the printedcontent are saved. Thus, proposed methods and systems for operating theprinting apparatus improves the overall efficiency of the printingapparatus.

FIG. 1 illustrates a system environment 100 where various embodiments ofthe disclosure may be implemented. The system environment 100 includes auser computing device 102, a network 104, and a printing apparatus 106.Further, the printing apparatus 106 includes a control unit 108. Theuser computing device 102 and the printing apparatus 106 arecommunicatively coupled with each other through the network 104.

In an example embodiment, the user computing device 102 may refer to acomputing device used by a user of the printing apparatus 106. The usercomputing device 102 may comprise one or more processors and one or morememories. The one or more memories may include computer readable codethat may be executable by the one or more processors to performpredetermined operations. Further, the user computing device 102 mayinclude one or more interfaces that may facilitate communication withthe printing apparatus 106 through the network 104. In an exampleembodiment, the user computing device 102 may be configured to receivean input from the user 110 to generate a print job. In an exampleembodiment, the print job may include data (e.g., first image data) tobe printed by the printing apparatus 106. Some examples of the data mayinclude text and/or graphics to be printed by the printing apparatus106. After generation of the print job, the user computing device 102may be configured to transmit an instruction (comprising the print job)to the printing apparatus 106 for performing the print operation. Thestructure of the user computing device 102 and the operation of the usercomputing device 102 have been described in conjunction with FIGS. 13and 14, respectively. Examples of the user computing device 102 mayinclude, but are not limited to, a personal computer, a laptop, apersonal digital assistant (PDA), a mobile device, a tablet, or othersuch computing device.

The network 104 corresponds to a medium through which content andmessages flow between various devices in the system environment 100(e.g., the user computing device 102 and the printing apparatus 106).Examples of the network 104 may include, but are not limited to, aWireless Fidelity (Wi-Fi) network, a Wireless Area Network (WAN), aLocal Area Network (LAN), or a Metropolitan Area Network (MAN). Variousdevices in the system environment 100 can connect to the network 104 inaccordance with various wired and wireless communication protocols suchas, but not limited to, Transmission Control Protocol and InternetProtocol (TCP/IP), User Datagram Protocol (UDP), and 2G, 3G, 4G, or 5Gcommunication protocols.

The printing apparatus 106 may correspond to a peripheral device that iscapable for reproducing text and graphics on a print medium. In otherwords, the printing apparatus 106 may be configured to perform the printoperation based on the print job received from the user computing device102. Some examples of the printing apparatus 106 may include, but arenot limited to, an ink-jet printer, a laser printer, and a thermalprinter. For the purpose of ongoing description, the printing apparatus106 has been considered as the thermal printer. However, it may becontemplated that the scope of the disclosure is not limited to theprinting apparatus 106 as the thermal printer.

The control unit 108 may be configured to control the operation ofvarious components of the printing apparatus 106. For example, thecontrol unit 108 may receive the first image data from the usercomputing device 102 (as the instruction), as is further described inconjunction with FIG. 4. Further, the control unit 108 may be configuredto render a buffer image using first image data, as is further describedin FIG. 4. Thereafter, the control unit 108 may be configured to causeprinting of the buffer image to generate printed content, as is furtherdescribed in FIG. 4. Additionally, the control unit 108 may beconfigured to verify the printed content, as is further described inFIG. 4. The structure of the control unit 108 has been described inconjunction with FIG. 3.

FIGS. 2A, 2B, and 2C illustrate a perspective view of a printingapparatus 106, according to one or more embodiments described herein.The printing apparatus 106 may include a media hub 202, a printer mediaoutput 204, a ribbon drive assembly 206, a ribbon take-up hub 208, aprint head 210, and a verifier 211.

In an example embodiment, the media hub 202 is configured to receive amedia roll 212. In an example embodiment, the media roll 212 maycorrespond to a roll of a print media 214 that may be a continuous mediaor may, in some example embodiments, include one or more portions(hereinafter referred to as labels) that are defined (in the print media214) by means of perforations or one or more marks. In an exampleembodiment, the media hub 202 is coupled to an actuation unit 219 thatactuates the media hub 202. On activation of the actuation unit 219, themedia hub 202 causes the media roll 212 to rotate, which further causesthe media roll 212 to supply the print media 214 to the print head 210along a media path 216 (shaded in FIG. 2B). In an example embodiment,along the media path 216, the print media 214 traverses from the mediaroll 212 through the print head 210 and the verifier 211, to the printermedia output 204. A direction of the media traversal along the mediapath 216 from the media roll 212 to the printer media output 204 isreferred to as print direction.

In an example embodiment, the printer media output 204 corresponds to aslot through which the printed media is outputted. The width of theprinter media output 204 is in accordance with a width of the printmedia 214. In some examples, the width of the printer media output 204may correspond to a maximum width of the print media 214 supported bythe printing apparatus 106.

The ribbon drive assembly 206 may receive a ribbon roll 218 thatcorresponds to a roll of a ribbon 220. In an example embodiment, theribbon 220 may correspond to an ink media that is utilized to disposeink onto the print media 214 to print content on the print media 214. Inan example embodiment, the ribbon drive assembly 206 may be coupled tothe actuation unit 219 that may be configured to actuate the ribbondrive assembly 206. On actuation of the ribbon drive assembly 206, theribbon drive assembly 206 rotates, which in turn causes the ribbon roll218 to rotate that causes the ribbon roll 218 to supply the ribbon 220along a ribbon path 222 (shaded in FIG. 2C). Along the ribbon path 222,the ribbon 220 traverses from the ribbon roll 218 to the print head 210and further to the ribbon take-up hub 208.

In an example embodiment, the ribbon take-up hub 208 may correspond toan assembly that may receive used ribbon 220 (i.e., a section of theribbon 220 from which the ink has been is disposed on the print media214). The ribbon take-up hub 208 may also be coupled to the actuationunit 219 that may be configured to actuate the ribbon take-up hub 208.On actuation, the ribbon take-up hub 208 pulls the ribbon 220 from theribbon roll 218.

The print head 210 may correspond to a component that is configured toprint the content on the print media 214. In an example embodiment, theprint head 210 may include a plurality of heating elements (not shown)that are energized and pressed against the ribbon 220 to perform theprint operation. In operation, the print head 210 applies heat on aportion of the ribbon 220 and, concurrently, presses the ribbon 220against the print media 214 to transfer the ink on the print media 214.In an example scenario, where the print media 214 corresponds to thermalpaper, the print head 210 may be directly press against the thermalpaper to perform the print operation.

During the print operation, one or more heating elements of theplurality of heating elements are energized to perform the printoperation. The one or more heating elements may be selected based on thedata in a print job. For example, if a letter “A” is to be printed, theone or more heating elements that are energized are positioned on theprint head 210 in such a manner that when the print head 210 is pressedagainst the ribbon 220 and the print media 214, letter “A” gets printedon the print media 214. To press the ribbon 220 against the print media214, the print head 210 translates in a vertically downward direction(or downward direction) to push the ribbon 220 against the print media214.

In an example embodiment, after the print operation, the print media 214and the ribbon 220 traverse along the media path 216 and the ribbon path222, respectively, such that the printed media traverses to the verifier211 and the used ribbon 220 traverses to the ribbon take-up hub 208.

In an example embodiment, the verifier 211 may correspond to an imagecapturing device that may be configured to scan the printed media togenerate a second image of the printed media. In an example embodiment,the verifier 211 may include an image sensor such as a Channel MOSFET(CMOS) sensor, charged coupled device (CCD) sensor, and/or contact imagesensor (CIS) sensor that may be capable of scanning the printed media.In an example embodiment, for the purpose of ongoing description, theverifier 211 may include the CIS sensor. To this end, during thescanning of the printed media, the actuation unit 219 may cause thetraversal of the print media 214 along the media path 216. Accordingly,the CIS sensor scans the printed media to generate the second image.

FIG. 3 illustrates a block diagram of the control unit 108 of theprinting apparatus 106, according to one or more embodiments describedherein. In an example embodiment, the control unit 108 includes a firstprocessor 302, a first memory device 304, a first communicationinterface 306, an input/output (I/O) device interface unit 308, a firstimage processing unit 310, a verifier control unit 312, and a print headcontrol unit 314.

The first processor 302 may be embodied as a means including one or moremicroprocessors with accompanying digital signal processor(s), one ormore processor(s) without an accompanying digital signal processor, oneor more coprocessors, one or more multi-core processors, one or morecontrollers, processing circuitry, one or more computers, various otherprocessing elements including integrated circuits such as, for example,an application specific integrated circuit (ASIC) or field programmablegate array (FPGA), or some combination thereof. Accordingly, althoughillustrated in FIG. 3 as a single processor, in an embodiment, the firstprocessor 302 may include a plurality of processors and signalprocessing modules. The plurality of processors may be embodied on asingle electronic device or may be distributed across a plurality ofelectronic devices collectively configured to function as the circuitryof the control unit 108. The plurality of processors may be in operativecommunication with each other and may be collectively configured toperform one or more functionalities of the circuitry of the control unit108, as described herein. In an example embodiment, the first processor302 may be configured to execute instructions stored in the first memorydevice 304 or otherwise accessible to the first processor 302. Theseinstructions, when executed by the first processor 302, may cause thecircuitry of the control unit 108 to perform one or more of thefunctionalities, as described herein.

Whether configured by hardware, firmware/software methods, or by acombination thereof, the first processor 302 may include an entitycapable of performing operations according to embodiments of the presentdisclosure while configured accordingly. Thus, for example, when thefirst processor 302 is embodied as an ASIC, FPGA or the like, the firstprocessor 302 may include specifically configured hardware forconducting one or more operations described herein. Alternatively, asanother example, when the first processor 302 is embodied as an executorof instructions, such as may be stored in the first memory device 304,the instructions may specifically configure the first processor 302 toperform one or more algorithms and operations described herein.

Thus, the first processor 302 used herein may refer to a programmablemicroprocessor, microcomputer or multiple processor chip or chips thatcan be configured by software instructions (applications) to perform avariety of functions, including the functions of the various embodimentsdescribed above. In some devices, multiple processors may be provideddedicated to wireless communication functions and one processordedicated to running other applications. Software applications may bestored in the internal memory before they are accessed and loaded intothe processors. The processors may include internal memory sufficient tostore the application software instructions. In many devices, theinternal memory may be a volatile or nonvolatile memory, such as flashmemory, or a mixture of both. The memory can also be located internal toanother computing resource (e.g., enabling computer readableinstructions to be downloaded over the Internet or another wired orwireless connection).

The first memory device 304 may include suitable logic, circuitry,and/or interfaces that are adapted to store a set of instructions thatis executable by the first processor 302 to perform predeterminedoperations. Some of the commonly known memory implementations include,but are not limited to, a hard disk, random access memory, cache memory,read only memory (ROM), erasable programmable read-only memory (EPROM) &electrically erasable programmable read-only memory (EEPROM), flashmemory, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, a compact disc read only memory(CD-ROM), digital versatile disc read only memory (DVD-ROM), an opticaldisc, circuitry configured to store information, or some combinationthereof. In an embodiment, the first memory device 304 may be integratedwith the first processor 302 on a single chip, without departing fromthe scope of the disclosure.

The first communication interface 306 may correspond to a communicationinterface that may facilitate transmission and reception of messages anddata to and from various devices operating in the system environment 100through the network 104. For example, the first communication interface306 is communicatively coupled with the user computing device 102through the network 104. In some examples, through the firstcommunication interface 306, the printing apparatus 106 may receivefirst image data. The first image data may include a bit stream that maybe representative of the first image to be printed on the print media214. Examples of the first communication interface 306 may include, butare not limited to, an antenna, an Ethernet port, a USB port, a serialport, or any other port that can be adapted to receive and transmitdata. The first communication interface 306 transmits and receives dataand/or messages in accordance with the various communication protocols,such as but not limited to, I2C, TCP/IP, UDP, and 2G, 3G, 4G, or 5Gcommunication protocols.

The I/O device interface unit 308 may include suitable logic and/orcircuitry that may be configured to enable communication between variouscomponents of the printing apparatus 106. For example, the I/O deviceinterface unit 308 may enable communication of the control unit 108 withthe print head 210 and the verifier 211, in accordance with one or moredevice communication protocols such as, but not limited to, I2Ccommunication protocol, Serial Peripheral Interface (SPI) communicationprotocol, Serial communication protocol, Control Area Network (CAN)communication protocol, and 1-Wire® communication protocol. In someexamples, the I/O device interface unit 308 may be configured totransmit a first instruction to the print head 210 to print content onthe print media 214, as is further described in conjunction with FIG. 4.Additionally, the I/O device interface unit 308 may be configured totransmit a second instruction to the verifier 211 to scan the printedcontent, as is further described in conjunction with FIG. 4. Further,the I/O device interface unit 308 may transmit a third instruction tothe actuation unit 219 causing traversal of the print media 214 alongthe print direction. Some examples of the I/O device interface unit 308may include, but not limited to, a Data Acquisition (DAQ) card, anelectrical drives driver circuit, and/or the like.

The first image processing unit 310 may include suitable logic and/orcircuitry that may enable the first image processing unit 310 to rendera buffer image from the first image data, as is further described inconjunction with FIG. 4. Additionally or alternatively, the first imageprocessing unit 310 may be configured to scale the buffer image, as isfurther described in conjunction with FIG. 4. In some examples, thefirst image processing unit 310 may identify a region of interest in thescaled buffer image, as is further described in conjunction with FIG. 4.In an example embodiment, the first image processing unit 310 mayutilize one or more known image processing techniques to manipulateand/or modify the buffer image. Some examples of the one or more imageprocessing techniques may include, but not limited to, edge detection,and object identification techniques such as Scale invariant featuretransform (SIFT). The first image processing unit 310 may be implementedusing one or more of Application Specific Integrated Circuit (ASIC) andField Programmable Gate Array (FPGA).

The verifier control unit 312 may include suitable logic and/orcircuitry that may enable the verifier control unit 312 to control oneor more operations of the verifier 211. For example, the verifiercontrol unit 312 may be configured to transmit the second instructionthrough the I/O device interface unit 308 to the verifier 211 to scanthe printed content. In some examples, the second instruction mayinclude information pertaining to a portion of the printed content to bescanned by the verifier 211. The verifier control unit 312 may beimplemented using may be implemented using one or more of ApplicationSpecific Integrated Circuit (ASIC) and Field Programmable Gate Array(FPGA).

A print head control unit 314 may include suitable logic and/orcircuitry that may enable the print head control unit 314 to cause theprint head 210 to print content on the print media 214. For example, theprint head control unit 314314 may transmit the first instruction(through the I/O device interface unit 308) to the print head 210 toprint content on the print media 214, as is further described inconjunction with FIG. 4. The print head control unit 314 may beimplemented using may be implemented using one or more of ApplicationSpecific Integrated Circuit (ASIC) and Field Programmable Gate Array(FPGA).

The operation of the control unit 108 is further described inconjunction with FIG. 4.

FIGS. 4, 5, 6A, 6B, 7, 8, 9, 11, 14, and 15 illustrate exampleflowcharts and example methods of the operations performed by anapparatus, such as the printing apparatus 106 having control unit 108,and the user computing device 102 of FIG. 1 in accordance with exampleembodiments of the present disclosure. It will be understood that eachblock of the flowcharts, and combinations of blocks in the flowcharts,may be implemented by various means, such as hardware, firmware, one ormore processors, circuitry and/or other devices associated withexecution of software including one or more computer programinstructions. For example, one or more of the procedures described abovemay be embodied by computer program instructions. In this regard, thecomputer program instructions which embody the procedures describedabove may be stored by a memory of an apparatus employing an embodimentof the present invention and executed by a processor in the apparatus.As will be appreciated, any such computer program instructions may beloaded onto a computer or other programmable apparatus (e.g., hardware)to produce a machine, such that the resulting computer or otherprogrammable apparatus provides for implementation of the functionsspecified in the flowcharts' block(s). These computer programinstructions may also be stored in a non-transitory computer-readablestorage memory that may direct a computer or other programmableapparatus to function in a particular manner, such that the instructionsstored in the computer-readable storage memory produce an article ofmanufacture, the execution of which implements the function specified inthe flowcharts' block(s). The computer program instructions may also beloaded onto a computer or other programmable apparatus to cause a seriesof operations to be performed on the computer or other programmableapparatus to produce a computer-implemented process such that theinstructions which execute on the computer or other programmableapparatus provide operations for implementing the functions specified inthe flowcharts' block(s). As such, the operations of FIGS. 4, 5, 6A, 6B,7, 8, 9, 11, 14, and 15, when executed, convert a computer or processingcircuitry into a particular machine configured to perform an exampleembodiment of the present invention. Accordingly, the operations ofFIGS. 4, 5, 6A, 6B, 7, 8, 9, 11, 14, and 15, define an algorithm forconfiguring a computer or processor, to perform an example embodiment.In some cases, a general purpose computer may be provided with aninstance of the processor which performs the algorithm of FIGS. 4, 5,6A, 6B, 7, 8, 9, 11, 14, and 15, to transform the general purposecomputer into a particular machine configured to perform an exampleembodiment.

Accordingly, blocks of the flowchart support combinations of means forperforming the specified functions and combinations of operations forperforming the specified functions. It will also be understood that oneor more blocks of the flowcharts', and combinations of blocks in theflowchart, can be implemented by special purpose hardware-based computersystems which perform the specified functions, or combinations ofspecial purpose hardware and computer instructions.

FIG. 4 illustrates a flowchart 400 for operating the printing apparatus106, according to one or more embodiments described herein.

In some examples, those skilled in the art would appreciate that priorto operating the printing apparatus 106 to print content, the firstprocessor 302 may be configured to calibrate the printing apparatus 106.During the calibration of the printing apparatus 106, the firstprocessor 302 may be configured to determine a type of the print media214 installed in the printing apparatus 106. Further, the firstprocessor 302 may be configured to determine a length of the labels inthe print media 214. In an example embodiment, the first processor 302may be configured to utilize a media sensor (not shown) in the printingapparatus 106 to determine the length of the labels in the print media214.

Thereafter, at step 402, the printing apparatus 106 may include means,such as the control unit 108, the first processor 302, the firstcommunication interface 306, and/or the like, for receiving the firstimage data from the user computing device 102. In an example embodiment,the first image data may include a bit stream that is representative ofthe first image to be printed on the print media 214. In some examples,the bit stream is a compressed form the first image. Further, the bitstream may be representative of the first image either in a monotoneformat, a continuous tone format or in a half tone format. In someexamples, in the continuous tone format, a pixel in an image can haveany value. On the other hand, in the halftone format, the image isrepresented in form of multiple dots, where the size of the dots and thespace amongst the dots are varied in order to generate a perceivableimage. Further, in monotone format, a pixel in the image can have twovalues either black or white.

At step 404, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for rendering a buffer image from the firstimage data (i.e., the bit stream). In an example embodiment, the firstimage processing unit 310 may be configured to utilize one or more knowndecoding techniques such as, but not limited to, bitmap decoder, JointPhotographic Experts Group (JPEG) decoder, wavelet decoder, GraphicsInterchange Format (GIF) decoder, Portable Network Graphics (PNG)decoder, Picture Exchange (PCX) decoder, and/or the like for renderingthe buffer image. The first image processing unit 310 may render in thebuffer image in the monotone format, continuous tone format and/or thehalf tone format based on the information included in the bit stream(pertaining to the monotone, continuous tone and/or half tone).

At step 406, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the I/O device interface unit308, the print head control unit 314, and/or the like, for causing theprint head 210 to print the buffer image on the print media 214 togenerate a printed content. Printing the buffer image is furtherdescribed in conjunction with FIG. 5. At step 408, the printingapparatus 106 may include means, such as the control unit 108, the firstprocessor 302, the I/O device interface unit 308, the verifier controlunit 312, and/or the like, for transmitting the third instruction to theactuation unit 219 to cause traversal of the print media 214 along theprint direction. Accordingly, the printed content traverses from theprint head 210 to the verifier 211.

Concurrent to the steps 406 and 408, at step 410, the printing apparatus106 may include means, such as the control unit 108, the first processor302, the first image processing unit 310, and/or the like, for scalingthe buffer image. In an example embodiment, scaling an image may includemodification in an area of the image. For example, scaling an image mayinclude modifying a resolution of the image.

In an example embodiment, the first image processing unit 310 may beconfigured to scale the buffer image in order to modify the area of thebuffer image. The first image processing unit 310 may be configured toscale the buffer image based on a predetermined scale ratio. Thepredetermined scale ratio may correspond to a factor by which an area ofthe image is modified. For instance, if the predetermined scale ratio is4:1, the first image processing unit 310 may be configured to reduce thearea covered by the image by half. Accordingly, if the image has theresolution 1024×968, the scaling the image will generate an image withresolution 512×484. Similarly, if the predetermined scale ratio is 1:4,the first image processing unit 310 may be configured to scale the imagehaving the resolution 1024×968 to an image with the resolution2048×1936. In some examples, the predetermined scale ratio may bepre-stored in the first memory device 304 during the manufacturing ofthe printing apparatus 106. In another embodiment, the predeterminedscale ratio may be configurable. In such an embodiment, the user of theprinting apparatus 106 may define the predetermined scale ratio byutilizing the user computing device 102. In another embodiment, the userof the printing apparatus 106 may define the predetermined scale ratiousing the user interface provided on the printing apparatus 106.

In some examples, the first image processing unit 310 may be configuredto determine the scale ratio dynamically. For example, the first imageprocessing unit 310 may be configured to determine the scale ratio basedon a size of the printed content and a resolution of the printedcontent. For example, if the size of the printed content and theresolution of the printed is content is less than a first threshold ofsize and a second threshold of resolution, respectively, the first imageprocessing unit 310 may be configured to determine the scale ratio as1:1. However, if the size of the printed content and the resolution ofthe printed content is greater than a first threshold of size and asecond threshold of resolution, respectively, the first image processingunit 310 may be configured to determine the scale ratio as 4:1. In anexample embodiment, the scope of the disclosure is not limited to havingtwo scale ratios as 1:1 and 4:1. In an example embodiment, the firstimage processing unit 310 may determine other scale ratios (e.g., 2:1,3:1) based on the size of the printed content and the resolution of theprinted content.

In some examples, the first image processing unit 310 may be configuredto reduce the area of the buffer image based on the predetermined scaleratio. Accordingly, the first image processing unit 310 may scale thebuffer image to generate a scaled buffer image, where the area of thescaled buffer image is less than the area of the buffer image. In anexample embodiment, the first image processing unit 310 may utilize oneor more known scaling techniques such as, but are not limited to,Nearest-neighbor interpolation, Bilinear and Bicubic algorithm, Sinc andLanczos resampling, Box sampling, and/or the like, to scale the bufferimage. An example method for scaling of the buffer image is furtherillustrated in FIG. 7.

At step 412, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for identifying a regions of interest (ROI)in the scaled buffer image. In an example embodiment, the ROI in thescaled buffer image may correspond to a portion of the scaled bufferimage that includes a machine readable indicia. In some examples, thescope of the disclosure is not limited to the ROI, in the scaled bufferimage, comprising the machine readable indicia. In an exampleembodiment, the ROI in the scaled buffer image may include other contentpresent in the scaled buffer image. For example, the ROI in scaledbuffer image may include an address field, a text content, a graphiccontent such as a trademark, and/or the like. For the purpose of ongoingdescription, the ROI in the scaled buffer image is considered to includethe machine readable indicia. The identification of the ROI in thescaled buffer image is further described in conjunction with FIG. 8,FIG. 9, and FIG. 10.

In some examples, during the identification of the ROI in the scaledbuffer image, the first image processing unit 310 may be configured todetermine the one or more first locations in the scaled buffer imagethat indicates the location of the ROI in the scaled buffer image. In anexample embodiment, the one or more first locations (in the scaledbuffer image) may define the periphery of the ROI. Accordingly, the oneor more first locations may encompass the ROI. More particularly, if thefirst image processing unit 310 creates a virtual bounding box thatconnects each of the one or more first locations in the scaled bufferimage, the virtual bounding box may encompass the ROI in the scaledbuffer image. In an example embodiment, identifying the one or morefirst locations may include determining the coordinates of the one ormore first locations in the scaled buffer image. The identification ofthe one or more first locations is further described in conjunction withFIG. 8, FIG. 9, and FIG. 10.

At step 414, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for translating the one or more firstlocations (identified for the ROI in the scaled buffer image) to one ormore second locations in the printed content. In an example embodiment,the one or more second locations may correspond to locations on theprinted content that encompasses the ROI in the printed content. Moreparticularly, the one or more second locations may define the peripheryof the ROI in the printed content. A virtual bounding, connecting eachof the one or more second locations, may encompass the ROI in theprinted content. In an example embodiment, translating the one or morefirst locations to the one or more second locations on the printedcontent may include determining the coordinates of the one or moresecond locations in the printed content. The translating of the one ormore first locations to the one or more second locations is furtherdescribed in conjunction with FIG. 11.

At step 416, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the verifier control unit312, the I/O device interface unit 308, and/or the like, fortransmitting the second instruction to the verifier 211 to scan theprinted content. Since the verifier 211 includes the CIS sensor,accordingly, the verifier 211 scans the printed content iteratively(e.g., line by line). To enable iterative scanning of the printedcontent, the I/O device interface unit 308 may be configured to transmitthe third instruction to the actuation unit 219 to cause traversal ofthe print media 214 during the scanning of the printed content.Accordingly, the verifier 211 scans the printed content (during thetraversal of the print media 214) to generate a second image. In someexamples, the second image is a digital representation of the printedcontent. In some example, the second image and the printed content mayhave one to one correspondence. For example, if a graphic symbol islocated at coordinates (x, y) in the printed content, the graphic symbolis located at the same coordinates in the second image (i.e., x, y).

In an example embodiment, prior to scanning the printed content, theverifier control unit 312 may determine whether the verifier 211 isaligned with the printed content. In an example embodiment, the verifiercontrol unit 312 may determine the alignment between the printed contentand the verifier 211 by utilizing known distances between the print head210 and the verifier 211. The determination of the alignment of theverifier 211 with the printed content is further described inconjunction with FIG. 6A and FIG. 6B.

At step 418, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for identifying the ROI in the second imagebased on the one or more second locations (determined in the step 414).Since the virtual bounding box, connecting each of the one or moresecond locations, encompasses the ROI in the printed content and sincethe second image is the digital representation of the printed content,therefore, the one or more second locations (in the second image) mayencompass the ROI in the second image. Accordingly, the one or moresecond locations may define the periphery of the ROI.

At step 420, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for retrieving the portion of the secondimage from the second image based on the one or more second locations.In an example embodiment, the portion of the second image includes theROI. Since ROI in the second image includes the machine readable indiciaand the second image is a digital representation of the printed content,accordingly, the portion of the second image includes a digitalrepresentation of the printed machine readable indicia.

In some examples, the scope of the disclosure is not limited to scanningthe complete printed content to generate the second image and,thereafter, retrieving the portion of the second image (i.e., ROI) fromthe second image. In an example embodiment, the verifier control unit312 may be configured to transmit a fourth instruction to the verifier211 that includes information pertaining to the one or more secondlocations. For example, the information pertaining to the one or moresecond locations may include the coordinates of the one or more secondlocations in the printed content. Upon receiving the fourth instruction,the verifier 211 may be configured to scan only a portion of the printedcontent represented by the coordinates of the one or more secondlocations in the printed content. Since the one or more second locationsdefine the periphery of the ROI in the printed content, therefore, theverifier 211 may scan the ROI in the printed content. Accordingly, thesecond image generated by the verifier 211 only includes the ROI.

In an example embodiment, prior to scanning the printed content, theverifier control unit 312 may determine whether the verifier 211 isaligned with the portion of the printed content. In an exampleembodiment, the verifier control unit 312 may determine the alignmentbetween the portion of the printed content and the verifier 211 byutilizing known distances between the print head 210, the verifier 211,and the coordinates of the one or more second locations. Thedetermination of the alignment between the verifier 211 and the portionof the printed content is further described in conjunction with FIG. 6B.

At step 422, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for grading the machine readable indiciaincluded in the portion of the second image. In an example embodiment,the first image processing unit 310 may be configured to utilizeAmerican National Standards Institute (ANSI), ISO15415, and/or ISO/IEC15416 standards for grading the machine readable indicia included in theportion of the second image. In another embodiment, where the secondimage only includes the machine readable indicia, the first imageprocessing unit 310, may grade the machine readable indicia included inthe second image.

In some examples, the scope of the disclosure is not limited todetermining the one or more second locations from the scaled bufferimage to retrieve the portion of the second image from the second image.In an example embodiment, if the size of the printed content and theresolution of the printed content is less than the first threshold ofthe size and the second threshold of the resolution, the first processor302 directly identify and retrieve the machine readable indicia from theprinted content.

FIG. 5 illustrates a flowchart 500 of a method for printing the bufferimage on the print media 214, according to one or more embodimentsdescribed herein. In some examples, since the print head 210 includesthe plurality of heating elements that are positioned on the print head210 in form of a rectangular array, therefore, print head 210 is capableof sequentially printing the buffer image. For example, the print head210 is capable of printing the buffer image iteratively based on thetraversal of the print media 214 and the portion of the buffer image tobe printed. For example, the print head 210 is capable of printing a rowof pixels (i.e., the portion of the buffer image) at a time instant.

Therefore, at step 502, the printing apparatus 106 may include means,such as the control unit 108, the first processor 302, the first imageprocessing unit 310, the print head control unit 314 and/or the like,for identifying one or more pixels from the buffer image that are to beprinted. In some examples, the one or more pixels (to be printed) may bearranged in one or more rows of the buffer image. Further, the printhead control unit 314 may identify a count of the one or more rows ofpixels to be printed (in an iteration) based on a width of therectangular array in which the plurality of heating elements is arrangedin the print head 210.

At step 504, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the print head control unit314, and/or the like, for identifying a set of heating elements, of theplurality of heating elements in the print head 210, that are to beenergized for printing the one or more pixels. In some examples, theprint head control unit 314 may be configured to identify the set ofheating elements based on one or more third locations of the one or morepixels that are to be printed. In some examples, the set of heatingelements and the one or more third locations (of the one or more pixels)may have one to one correspondence. For example, if the left most pixelof the buffer image is to be printed, the print head control unit 314may identify the left most heating element of the print head 210 as theset of heating elements.

In another example, the print head control unit 314 may utilize alook-up table that includes a mapping between the one or more thirdlocations (of the one or more pixels) and the corresponding heatingelement of the plurality of heating elements to be energized. Followingtable illustrates an example look-up table:

TABLE 1 Look-up table depicting mapping between the one or more thirdlocations and the heating elements Third locations Heating element (0,0)  Heating element-1 (15, 0)  Heating element-2 (7, 0) Heatingelement-3

In some examples, the scope of the disclosure is not limited toutilizing the look-up table to identify the set of heating elements tobe energized. In an example embodiment, the print head control unit 314may utilize known mathematical relationship between the one or morethird locations and the plurality of heating elements to identify theset of heating elements to be energized for printing the one or morepixels (of the buffer image) on the print media 214.

At step 506, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the print head control unit314, the I/O device interface unit 308 and/or the like, for transmittingthe first instruction to the print head 210 through the I/O deviceinterface unit 308. In an example embodiment, the first instruction mayinclude the information pertaining to the set of heating elements thatare to be energized. Upon receiving the first instruction, the printhead 210 may energize the set of heating elements. Energizing the set ofheating elements causes the set of heating elements to heat up.Accordingly, when the set of heating elements press against the ribbon220, the heat from the set of heating elements causes transfer of theink from the ribbon 220 to print media 214, thereby printing the one ormore pixels (identified in the step 502).

At step 508, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the print head control unit314, the I/O device interface unit 308 and/or the like, for transmittingthe third instruction to the actuation unit 219. The third instructionmay pertain to activating the actuation unit 219. Upon activation, theactuation unit 219 causes traversal of the print media 214 along theprint direction. Thereafter, the first processor 302 may be configuredto repeat the step 502 till the complete buffer image is printed. Theprinted buffer image has been referred to as the printed content.

FIG. 6A illustrates a flowchart 600A of a method for determining whetherthe printed content is aligned with the verifier 211, according to oneor more embodiments described herein.

At step 602, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the verifier control unit312, and/or the like for determining a first distance between a startingposition of the printed content and the verifier 211. In an exampleembodiment, the starting position of the printed content may correspondto a location of the perforation on print media 214. As discussed, theperforation on the print media 214 may be utilized to divide the mediainto the labels. The buffer image may be printed on a label in the printmedia. Accordingly, the starting position of the printed content maycorrespond to the location of the perforation.

In an example embodiment, the verifier control unit 312 may retrieve asecond distance between the verifier 211 and the print head 210. In someexamples, the second distance is predefined during manufacturing of theprinting apparatus 106. Further, the second distance is stored in thefirst memory device 304. Additionally, the verifier control unit 312 maybe configured to retrieve the length of the label (determined duringcalibration of the printing apparatus 106) in the print media 214 fromthe first memory device 304. In an example embodiment, the verifiercontrol unit 312 may be configured to determine the first distancebetween the starting point of the printed content and the verifier 211using the following formula:

First distance between the starting point of the printed content=thesecond distance between the print head 210 and the verifier 211−thelength of the label  Formula (1):

At step 604, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the verifier control unit312, the I/O device interface unit 308 and/or the like for transmittingthe third instruction to the actuation unit 219 to cause the traversalof the print media 214 along the print direction. In some examples, theI/O device interface unit 308 may cause the print media 214 to traverseby the second distance (determined in the step 602).

As discussed above, the verifier 211 may be configured to scan theportion of the printed content instead of the complete printed content.The alignment of the portion of the printed content and verifier 211 isfurther described in FIG. 6B.

FIG. 6B illustrates a flowchart 600B of a method for determining whetherthe portion of the printed content is aligned with the verifier 211,according to one or more embodiments described herein.

At step 606, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the verifier control unit312, and/or the like for determining a third distance between a startingposition of the portion of the printed content and the verifier 211.

In an example embodiment, the verifier control unit 312 may retrieve thesecond distance between the verifier 211 and the print head 210.Additionally, the verifier control unit 312 may be configured toretrieve the length of the label in the print media 214 from the firstmemory device 304. Further, additionally, the verifier control unit 312may be configured to retrieve coordinates the one or more secondlocations on the printed content from the first memory device 304. Asdiscussed, the one or more second locations may encompass the ROI in theprinted content. Thereafter, in an example embodiment, the verifiercontrol unit 312 may be configured to determine the third distancebetween the starting position of the portion of the printed content andthe verifier 211 using the following formula:

Third distance=(second distance between the print head 210 and theverifier 211−length of the label in the print head)+(distance betweenthe perforation on the label and the one or more secondlocations)  Formula (2):

At step 608, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the verifier control unit312, the I/O device interface unit 308 and/or the like for transmittingthe third instruction to the actuation unit 219 to cause the traversalof the print media 214 along the print direction. In some examples, theI/O device interface unit 308 may cause the print media 214 to traverseby the third distance (determined in the step 602). Accordingly, theportion of the printed content aligns with the verifier 211.

FIG. 7 illustrates a flowchart 700 of a method for scaling the bufferimage according to one or more embodiments described herein.

At step 702, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for defining a sliding window of apredetermined size. In an example embodiment, the predetermined size ofthe sliding window may be defined during the manufacturing of theprinting apparatus 106. Additionally or alternately, the user of theprinting apparatus 106 may define the predetermined size of the slidingwindow by providing input through the user computing device 102 orthrough the user interface provided on the printing apparatus 106. Inanother example, the first image processing unit 310 may automaticallydefine the predetermined size of the sliding window based on thepredetermined scale ratio. For example, if the scale ratio is 4:1, thefirst image processing unit 310 may define the sliding window having thesize of 4×1. In some examples, the scope of the disclosure is notlimited to the sliding window having the size of 4 by 1. In an exampleembodiment, the sliding window may have any other size, withoutdeparting from the scope of the disclosure. For the purpose ofdescribing the flowchart 700, the size of the sliding window isconsidered to be 4×1.

At step 704, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for iteratively scanning through the bufferimage using the sliding window. For example, during first iteration, thesliding window may be configured to encompass first four pixels of thebuffer image.

At step 706, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for selecting a pixel of the four pixelsencompassed within the sliding window. In some examples, the first imageprocessing unit 310 may be configured to randomly select the pixel ofthe four pixels. In another example, the first image processing unit 310may be configured to generate a new pixel based on a pixel value of thefour pixels encompassed within the sliding window. In an exampleembodiment, the pixel value of the pixel may include luminance valueand/or color value. To generate the new pixel, the first imageprocessing unit 310 may be configured to determine an average pixelvalue of the four pixels.

At step 708, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for determining whether the sliding window hasscanned complete buffer image. If the first image processing unit 310determines that the sliding window has scanned the complete bufferimage, the first image processing unit 310 may be configured to performthe step 710. However, if the first image processing unit 310 determinesthat the sliding window has not scanned the complete buffer image, thefirst image processing unit 310 may be configured to repeat the step704.

At step 710, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for stitching the selected pixels to createthe scaled buffer image. Since the scaled buffer image is formed ofpixels that have been selected out of every four pixels of the bufferimage, the area of the scaled buffer image is less than the area of thebuffer image.

FIG. 8 illustrates a flowchart 800 of method for identifying ROI in thescaled buffer image, according to one or more embodiments describedherein. As discussed above in FIG. 4, the ROI in the scaled buffer imagemay correspond to portions of the scaled buffer image that includesmachine readable indicia. Therefore, the foregoing description ofidentifying the ROI has been described considering that the ROI of thescaled buffer image includes the machine readable indicia.

At step 802, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for comparing the scaled buffer image with aplurality of the known images of the machine readable indicia using oneor more known object identification algorithms such as, but not limitedto SIFT, Speeded up robust features (SURF), deep neural networks,convolutional neural network (CNN), and/or the like. For example, insome examples, the first image processing unit 310 may be configured toidentify one or more key points in the scaled buffer image. Further, thefirst image processing unit 310 may be configured to compare the one ormore key points with one or more key points in the one or more knownimages of the machine readable indicia.

At step 804 the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for identifying the ROI in the scaled bufferimage that includes the machine readable indicia based on the comparisonbetween the scaled buffer image and the one or more known images of themachine readable indicia. For example, the first image processing unit310 may identify, based on the comparison, a first set of key points ofthe one or more key points that correspond to the machine readableindicia. Additionally, the first image processing unit 310 may determinethe coordinates of the first set of key points in the scaled bufferimage. In some examples, the first image processing unit 310 maydetermine the coordinates of the first set of key points in Cartesiancoordinate system. However, in some examples, the scope of thedisclosure is not limited to determining the coordinates of the firstset of key points in the Cartesian coordinate system. In an exampleembodiment, the first image processing unit 310 may determine thecoordinates of the first set of key points in other coordinate systemssuch as, but not limited to, polar coordinate systems.

At step 806, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for identifying a second set of key points ofthe first set of key points that may define a periphery of the machinereadable indicia. In some examples, the first image processing unit 310may determine a minima and/or maxima amongst the coordinates of thefirst set of key points to identify the second set of key points.Determining minima amongst the coordinates of the first set of keypoints may identify key points that have minimum coordinate valueamongst the coordinates of the second set of key points. Similarly,determining maxima amongst the coordinates of the first set of keypoints may identify key points that have maximum coordinate valueamongst the coordinates of the second set of key points. In an exampleembodiment, the first image processing unit 310 may identify the keypoints with minimum coordinate values and the key points with maximumcoordinate values as the second set of key points.

The second set of key points may define the periphery of the machinereadable indicia. Further, the first image processing unit 310 mayconsider the location of each key point in the second set of key pointsas the one or more first locations in the scaled buffer image. In anexample embodiment, as discussed above in FIG. 3, the one or more firstlocations encompass the machine readable indicia. Further, the firstimage processing unit 310 may be configured to store the coordinates ofthe one or more first locations in the first memory device 304.

FIG. 9 illustrates another flowchart 900 of a method for identifying ROIin the scaled buffer image, according to one or more embodimentsdescribed herein.

At step 902, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for defining a sliding window of secondpredetermined size. In some examples, the second predetermined size maybe stored in the first memory device 304 during the manufacturing of theprinting apparatus 106. For example, the first image processing unit 310may define the sliding window of size 48×48.

At step 904, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for scanning the scaled buffer image using thesliding window.

At step 906, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for determining whether the portion of thescaled buffer image, encompassed by the sliding window, includes aportion the machine readable indicia. In an example embodiment, thefirst image processing unit 310 may utilize a classifier to determinewhether the portion of the scaled buffer image includes the portion ofthe machine readable indicia. In an example embodiment, the classifiermay correspond to a mathematical model and/or probabilistic model thatis capable of determining whether the portion of the scaled buffer image(encompassed by the sliding window) includes a portion of the machinereadable indicia. If the classifier determines that the portion of thescaled buffer image includes the portion of the machine readableindicia, the first image processing unit 310 may be configured toperform the step 908. On the other hand, if the first image processingunit 310 determines that the portion of the scaled buffer image does notinclude the portion of the machine readable indicia, the first imageprocessing unit 310 may be configured to repeat the step 904.

At step 908, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for determining the location of the portion ofthe scaled buffer image in the scaled buffer image. In some examples,determining the location of the portion of the scaled buffer image mayinclude determining the coordinates of the portion of the scaled bufferimage. In some examples, the location of the portion of the scaledbuffer image may correspond to the coordinates of a center pixel in theportion of the scaled buffer image. In another example, the location ofthe portion of the scaled buffer image may correspond to the coordinatesof a corner pixel in the portion of the scaled buffer image. The firstimage processing unit 310 may be configured to store the coordinates ofthe portion of the scaled buffer image in the first memory device 304.

At step 910, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for determining whether the sliding window hasscanned the complete scaled buffer image. If the first image processingunit 310 determines that the sliding window has scanned the completescaled buffer image, the first image processing unit 310 may beconfigured to perform the step 912. However, if the first imageprocessing unit 310 determines that the sliding window has not scannedthe complete scaled buffer image, the first image processing unit 310may be configured to repeat the step 904.

At step 912, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for determining the one or more firstlocations in the scaled buffer image. As discussed above in the step908, the first image processing unit 310 may be configured to store thelocation of the portion of the scaled buffer image (that includes theportion of the machine readable indicia) in the first memory device.Accordingly, the first image processing unit 310 may be configured toretrieve the one or more locations of the one or more portions of thescaled buffer image (that includes the portion of the machine readableindicia) from the first memory device 304. Thereafter, the first imageprocessing unit 310 may utilize the methodology described in the step806 to determine the one or more first locations in the scaled bufferimage. For example, the first image processing unit 310 may beconfigured to determine the minima and maxima amongst the coordinates ofthe location of the portions of the scaled buffer image (that includesthe portion of the machine readable indicia) to determine the one ormore first locations in the scaled buffer image.

FIG. 10 illustrates an example scaled buffer image 1000 comprising theROI, according to one or more embodiments described herein.

The first image processing unit 310 identifies the ROI 1002 in thescaled buffer image 1000, as is described in the flowcharts 800 and 900.Further, the first image processing unit 310 identifies the one or morefirst locations 1004 a, 1004 b, 1004 c, and 1004 d that encompass themachine readable indicia 1006. In an example embodiment, following tableillustrates the coordinates of the one or more first locations:

TABLE 2 Coordinates of the one or more first locations One or more firstlocations Coordinates Location 1004a (100, 80)  Location 1004b (140,80)  Location 1004c (100, 120) Location 1004d (140, 120)

Further, as depicted in the example scaled buffer image 1000, a boundingbox 1008 connects the one or more first locations 1004 a, 1004 b, 1004c, and 1004 d with each other. Further, as depicted, the bounding box1008 encompasses the machine readable indicia 1006.

FIG. 11 illustrates a flowchart 1100 of a method for translating the oneor more first locations to one or more second locations, according toone or more embodiments described herein.

At step 1102, the printing apparatus 106 includes means such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like for retrieving the scale ratio from the firstmemory device 304. As discussed in FIG. 4, the scale ratio is utilizedto scale the buffer image. At step 1104, the printing apparatus 106includes means such as the control unit 108, the first processor 302,the first image processing unit 310, and/or the like for determining theone or more second locations in the printed content based on the one ormore first locations and the scale ratio. In an example embodiment, todetermine the one or more second locations, the first image processingunit 310 may multiply the scale ratio with the coordinates of the one ormore first locations to determine the coordinates of the one or moresecond locations in the printed content.

In some examples, the scope of the disclosure is not limited toutilizing only the scale ratio to determine the coordinates of the oneor more second locations. In some examples, the first image processingunit 310 may consider other additional parameters to determinecoordinates of the one or more second locations. For example, the firstimage processing unit 310 may consider the mechanical parametersassociated with the printing apparatus 106 to determine the coordinatesof the one or more second locations. Some examples of the mechanicalparameters may include, but are not limited to, a distance of a leftedge of the label and a left edge of the printed content, a distancebetween right edge of the label and a right edge of the printed content,a tolerance of gear free play and/or the like. In an example embodiment,the left edge of the printed content may be composed of a left pixelthat is proximal to the left edge of the label and is distal from theright edge of the label. Further, there is an empty space (i.e., is noprinted content) between the left pixel and the left edge of the label.Similarly, in an example embodiment, the right edge of the printedcontent may be composed of a right pixel that is proximal to the rightedge of the label and is distal from the left edge of the label.Further, there is an empty space (i.e., is no printed content) betweenthe right pixel and the right edge of the label. In some examples, thegear free play may correspond to a distance by which the gear rotateswithout applying force on other components of the printing apparatus106.

FIG. 12 illustrates an example scenario 1200 of verifying the printedcontent, according to one or more embodiments described herein.

The example scenario 1200 depicts that printing apparatus 106 receivesthe bit stream 1202 from the user computing device 102, as is describedin step 402. In some examples, the first image processing unit 310 mayconvert the bit stream 1202 into the buffer image 1204, as is describedin the step 404. For example, the buffer image (created from the bitstream 1202) has a resolution of the 1024 by 968. Thereafter, the firstimage processing unit 310 (in the printing apparatus 106) may beconfigured to scale the buffer image to generate the scaled buffer image1206. For example, the first image processing unit 310 may reduce theresolution of the buffer image 1204 based on the scale ratio. In someexamples, if the scale ratio is 4:1, the scaled buffer image 1206 has aresolution 512×484. Concurrently, the printing apparatus 106 may printthe buffer image on the print media 214 to generate the printed content1207, as is described in the step 406. Further, the printer apparatusmay cause the traversal of the print media 214 along the printdirection, as is described in flowchart 400. Such operation causestraversal of the printed content 1207 from the print head 210 to theverifier 211.

Concurrently, in an example embodiment, the first image processing unit310 may be configured to identify the ROI 1208 in the scaled bufferimage 1206 as is described in the step 412. For example, the first imageprocessing unit 310 may identify the machine readable indicia 1210 asthe ROI 1208. Further, the first image processing unit 310 identifiesthe one or more first locations 1212 a, 1212 b, 1212 c, and 1212 d inthe scaled buffer image 1206 such that the virtual bounding box 1214(connecting the one or more first locations 1212 a, 1212 b, 1212 c, and1212 d) encompasses the machine readable indicia 1210. Additionally, thefirst image processing unit 310 may determine the coordinates of the oneor more first locations 1212 a, 1212 b, 1212 c, and 1212 d. Forinstance, the first image processing unit 310 determines the coordinatesof the one or more first locations 1212 a, 1212 b, 1212 c, and 1212 d,as depicted in the table 2. Thereafter, the first image processing unit310 may be configured to determine the one or more second locations 1214a, 1214 b, 1214 c, and 1214 d on the printed content 1207 (thatcorresponds to the ROI 1208 in the printed content 1207). In someexamples, the first image processing unit 310 may multiply the scaleratio with the coordinates of the one or more first locations 1212 a,1212 b, 1212 c, and 1212 d to determine the coordinates of the one ormore second locations 1114 a, 1214 b, 1214 c, and 1214 d. For instance,the following table illustrates the coordinates of the one or moresecond locations 1214 a, 1214 b, 1214 c, and 1214 d:

TABLE 3 Coordinates of the one or more second locations One or moresecond locations Coordinates Second Location 1214a (400, 320) SecondLocation 1214b (560, 320) Second Location 1214c (400, 480) SecondLocation 1214d (560, 480)

In some examples, the verifier control unit 312 may cause the verifier211 may scan the printed content 1207. The verifier 211 may generate thesecond image 1216 of printed content 1207 based on the scanning of theprinted content 1207. The second image 1216 is the digitalrepresentation of the printed content 1207. Accordingly, the one or moresecond locations 1214 a, 1214 b, 1214 c, and 1214 d in the second imagemay encompass the ROI 1208 in the second image 1216. For example, thebounding box 1218, connecting the one or more second locations 1214 a,1214 b, 1214 c, and 1214 d, encompasses the ROI 1208 in the second image1216. Thereafter, the first image processing unit 310 retrieves or cropsthe ROI 1208 from the second image 1216 to generate the portion of thesecond image 1220. The portion of the second image includes the digitalrepresentation of the printed machine readable indicia 1210. In someexamples, the first image processing unit 310 may grade the digitalrepresentation of the machine readable indicia 1210, as is described inthe step 420.

In some examples, the scope of the disclosure is not limited to theprinting apparatus 106 performing the operations, as is described in theflowchart 400. In an example embodiment, certain steps of the flowchart400 may be performed by the user computing device 102, as is furtherdescribed in the FIGS. 13 and 14.

FIG. 13 illustrates a block diagram of the user computing device 102,according to one or more embodiments described herein. In an exampleembodiment, the user computing device 102 includes a second processor1302, a second memory device 1304, a second communication interface1306, and a second image processing unit 1308.

The second processor 1302 may be embodied as a means including one ormore microprocessors with accompanying digital signal processor(s), oneor more processor(s) without an accompanying digital signal processor,one or more coprocessors, one or more multi-core processors, one or morecontrollers, processing circuitry, one or more computers, various otherprocessing elements including integrated circuits such as, for example,an application specific integrated circuit (ASIC) or field programmablegate array (FPGA), or some combination thereof. Accordingly, althoughillustrated in FIG. 13 as a single processor, in an embodiment, thesecond processor 1302 may include a plurality of processors and signalprocessing modules. The plurality of processors may be embodied on asingle electronic device or may be distributed across a plurality ofelectronic devices collectively configured to function as the circuitryof the user computing device 102. The plurality of processors may be inoperative communication with each other and may be collectivelyconfigured to perform one or more functionalities of the circuitry ofthe user computing device 102, as described herein. In an exampleembodiment, the second processor 1302 may be configured to executeinstructions stored in the second memory device 1304 or otherwiseaccessible to the second processor 1302. These instructions, whenexecuted by the second processor 1302, may cause the circuitry of thecontrol system 120 to perform one or more of the functionalities, asdescribed herein.

Whether configured by hardware, firmware/software methods, or by acombination thereof, the second processor 1302 may include an entitycapable of performing operations according to embodiments of the presentdisclosure while configured accordingly. Thus, for example, when thesecond processor 1302 is embodied as an ASIC, FPGA or the like, thesecond processor 1302 may include specifically configured hardware forconducting one or more operations described herein. Alternatively, asanother example, when the second processor 1302 is embodied as anexecutor of instructions, such as may be stored in the second memorydevice 1304, the instructions may specifically configure the secondprocessor 1302 to perform one or more algorithms and operationsdescribed herein.

Thus, the second processor 1302 used herein may refer to a programmablemicroprocessor, microcomputer or multiple processor chip or chips thatcan be configured by software instructions (applications) to perform avariety of functions, including the functions of the various embodimentsdescribed above. In some devices, multiple processors may be provideddedicated to wireless communication functions and one processordedicated to running other applications. Software applications may bestored in the internal memory before they are accessed and loaded intothe processors. The processors may include internal memory sufficient tostore the application software instructions. In many devices, theinternal memory may be a volatile or nonvolatile memory, such as flashmemory, or a mixture of both. The memory can also be located internal toanother computing resource (e.g., enabling computer readableinstructions to be downloaded over the Internet or another wired orwireless connection).

The second memory device 1304 may include suitable logic, circuitry,and/or interfaces that are adapted to store a set of instructions thatis executable by the second processor 1302 to perform predeterminedoperations. Some of the commonly known memory implementations include,but are not limited to, a hard disk, random access memory, cache memory,read only memory (ROM), erasable programmable read-only memory (EPROM) &electrically erasable programmable read-only memory (EEPROM), flashmemory, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, a compact disc read only memory(CD-ROM), digital versatile disc read only memory (DVD-ROM), an opticaldisc, circuitry configured to store information, or some combinationthereof. In an embodiment, the second memory device 1304 may beintegrated with the second processor 1302 on a single chip, withoutdeparting from the scope of the disclosure.

The second communication interface 1306 may correspond to acommunication interface that may facilitate transmission and receptionof messages and data to and from various devices operating in the systemenvironment 100 through the network 104. For example, the secondcommunication interface 1306 is communicatively coupled with theprinting apparatus 106 through the network 104. In some examples,through the second communication interface 1306, the user computingdevice 102 may transmit first image data. The first image data mayinclude a bit stream that may be representative of the first image to beprinted on the print media 214. Examples of the second communicationinterface 1306 may include, but are not limited to, an antenna, anEthernet port, a USB port, a serial port, or any other port that can beadapted to receive and transmit data. The second communication interface1306 transmits and receives data and/or messages in accordance with thevarious communication protocols, such as, I2C, TCP/IP, UDP, and 2G, 3G,or 4G communication protocols.

The second image processing unit 1308 may include suitable logic and/orcircuitry that may enable the second image processing unit 1308 toidentify ROI in the first image, as is further described in conjunctionwith FIG. 14. The second image processing unit 1308 may be have asimilar structure to that of the first image processing unit 310.Further, the embodiments applicable on the first image processing unit310 are also applicable on the second image processing unit 1308.

FIG. 14 illustrates a flowchart 1400 of a method for operating the usercomputing device 102, according to one or more embodiments describedherein.

At step 1402, the user computing device 102 may include means, such asthe second processor 1302, the second image processing unit 1308, and/orthe like, for receiving an input from the user pertaining totransmitting a request to the printer apparatus to print the firstimage.

At step 1404, the user computing device 102 may include means, such asthe second processor 1302, the second image processing unit 1308, and/orthe like, for scaling the first image. In an example embodiment, thesecond image processing unit 1308 may utilize methodologies described inthe step 410 to perform the step 1404. For example, the second imageprocessing unit 1308 may be configured to scale the first image based onthe scale ratio.

In some examples, the step 1404 may be optional and the second imageprocessing unit 1308 may be configured to identify the ROI in the firstimage, without departing from the scope of the disclosure.

At step 1406, the user computing device 102 may include means, such asthe second processor 1302, the second image processing unit 1308, and/orthe like, for identifying ROI in the scaled first image. In an exampleembodiment, the second image processing unit 1308 may utilizemethodologies described in FIG. 8, FIG. 9 and FIG. 10 to identify theROI in the scaled first image. For example, the second image processingunit 1308 may be configured to determine one or more fourth locations inthe first image, where a bounding box connecting the one or more fourthlocations in the first image encompasses the ROI. As discussed,determining the one or more fourth locations involves determining thecoordinates of the one or more fourth locations in the scaled firstimage.

At step 1408, the user computing device 102 may include means, such asthe second processor 1302, the second image processing unit 1308, and/orthe like, for converting the first image to the bit stream. In anexample embodiment, the bit stream corresponds to the first image data.Thereafter, at step 1410, the user computing device 102 may includemeans, such as the second processor 1302, the second communicationinterface 1306, and/or the like, for transmitting the first image data.Additionally or alternatively, the second processor 1302 may transmitthe coordinates of the one or more fourth locations and the scale ratio.In some examples, the second communication interface 1306 may beconfigured to transmit the first image data, the scale ratio, and theone or more third locations as the fifth instruction. The operationperformed by the printing apparatus 106 upon reception of the fifthinstruction is further described in conjunction with FIG. 15.

FIG. 15 illustrates a flowchart 1500 of another method for operating theprinting apparatus 106, according to one or more embodiments describedherein.

At step 1502, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first communicationinterface 306, and/or the like, for receiving the fifth instruction fromthe user computing device 102. As discussed, the fifth instructionincludes the first image data, the scale ratio, and the coordinates ofthe one or more fourth locations. At step 1504, the printing apparatus106 may include means, such as the control unit 108, the first processor302, the first image processing unit 310, and/or the like, for renderinga buffer image from the first image data (i.e., the bit stream).

At step 1506, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for causing the print head 210 to print thebuffer image on the print media 214 to generate a printed content. Atstep 1508, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the I/O device interface unit308, and/or the like, for transmitting the third instruction to theactuation unit to cause traversal of the print media 214 along the printdirection. Upon receiving the third instruction, the actuation unit 219causes the print media 214 to traverse along the print direction.Accordingly, the printed content traverse from the print head 210 to theverifier 211.

At step 1510, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the verifier control unit312, the I/O device interface unit 308, and/or the like, fortransmitting the second instruction to the verifier 211 to scan theprinted content. the verifier 211 may generate the second image based onthe scanning of the printed content.

At step 1512, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for translating the one or more firstlocations (received in fifth instruction) to one or more secondlocations in the second image. In an example embodiment, the first imageprocessing unit 310 may use the scale ratio to determine the one or moresecond locations in the second image.

At step 1514, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for identifying the ROI in the second imagebased on the one or more second locations.

At step 1516, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for retrieving the portion of the secondimage from the second image based on the one or more second locations.

At step 1518, the printing apparatus 106 may include means, such as thecontrol unit 108, the first processor 302, the first image processingunit 310, and/or the like, for grading the machine readable indiciaincluded in the portion of the second image.

In the specification and figures, typical embodiments of the disclosurehave been disclosed. The present disclosure is not limited to suchexemplary embodiments. The use of the term “and/or” includes any and allcombinations of one or more of the associated listed items. The figuresare schematic representations and so are not necessarily drawn to scale.Unless otherwise noted, specific terms have been used in a generic anddescriptive sense and not for purposes of limitation.

The foregoing detailed description has set forth various embodiments ofthe devices and/or processes via the use of block diagrams, flow charts,schematics, exemplary, and examples. Insofar as such block diagrams,flow charts, schematics, and examples contain one or more functionsand/or operations, each function and/or operation within such blockdiagrams, flowcharts, schematics, or examples can be implemented,individually and/or collectively, by a wide range of hardware thereof.

In one embodiment, examples of the present disclosure may be implementedvia Application Specific Integrated Circuits (ASICs). However, theembodiments disclosed herein, in whole or in part, can be equivalentlyimplemented in standard integrated circuits, as one or more computerprograms running on one or more computers (e.g., as one or more programsrunning on one or more computer systems), as one or more programsrunning on one or more processing circuitries (e.g., micro-processingcircuitries), as one or more programs running on one or more processors(e.g., microprocessors), as firmware, or as virtually any combinationthereof.

In addition, those skilled in the art will appreciate that examplemechanisms disclosed herein may be capable of being distributed as aprogram product in a variety of tangible forms, and that an illustrativeembodiment applies equally regardless of the particular type of tangibleinstruction bearing media used to actually carry out the distribution.Examples of tangible instruction bearing media include, but are notlimited to, the following: recordable type media such as floppy disks,hard disk drives, CD ROMs, digital tape, flash drives, and computermemory.

The various embodiments described above can be combined with one anotherto provide further embodiments. For example, two or more of exampleembodiments described above may be combined to, for example, improve thesafety of laser printing and reduce the risks associated withlaser-related accidents and injuries. These and other changes may bemade to the present systems and methods in light of the above detaileddescription. Accordingly, the disclosure is not limited by thedisclosure, but instead its scope is to be determined by the followingclaims.

1. A method comprising: rendering, by a processor, a buffer image from afirst image data received for printing; scaling, by the processor, thebuffer image to generated a scaled buffer image; determining, by theprocessor, a first location of a machine readable indicia in the scaledbuffer image; and causing, by the processor, a print head to print thebuffer image on a print media to generate a printed content.
 2. Themethod of claim 1 further comprising causing, by the processor, an imagecapturing unit to capture a second image of a portion of the printedcontent based on the first location of the machine readable indicia,wherein the portion of the printed content is at a second location inthe printed content, and wherein the second location in the printedcontent corresponds to the first location of the machine readableindicia in the scaled buffer image.
 3. The method of claim 2, whereinthe portion of the printed content includes the machine readableindicia.
 4. The method of claim 3 further comprising grading, by theprocessor, the machine readable indicia in the second image, wherein thegrading of the machine readable indicia in the second image isindicative of the grading of the machine readable indicia in the printedcontent.
 5. The method of claim 1 further comprising: causing, by theprocessor, an image capturing unit to capture a second image of theprinted content; retrieving, by the processor, a portion of the secondimage based on the first location of the machine readable indicia in thescaled buffer image, wherein the portion of the second image includesthe machine readable indicia; and grading, by the processor, the machinereadable indicia in the portion of the second image.
 6. The method ofclaim 1 further comprising receiving, by the processor, the first imagedata as a binary bit stream.
 7. The method of claim 1, wherein thebuffer image is scaled based on a scale ratio.
 8. The method of claim 7,wherein the second location in the printed content is determined basedon at least the scale ratio and/or one or more mechanical parameters. 9.The method of claim 1, wherein the machine readable indicia isdetermined prior to causing the print head to print the buffer image.10. A printing apparatus comprising: a print head configured to print abuffer image on print media to generate a printed content; an imagecapturing unit configured to capture a second image of a portion of theprinted content; and a processor communicatively coupled to the printhead and the image capturing unit, wherein the processor is configuredto: scale the buffer image to generated scaled buffer image; determine afirst location of a machine readable indicia in the scaled buffer image,determine a second location of the machine readable indicia in theprinted content based on the first location of the machine readableindicia in the scaled buffer image, and cause the image capturing unitto capture the second image of the portion of the printed content basedon the second location of the machine readable indicia.
 11. The printingapparatus of claim 10, wherein the processor is configured to receive afirst image data, and render the buffer image from the first image data.12. The printing apparatus of claim 10, wherein the portion of theprinted content comprises the machine readable indicia, and wherein theprocessor is configured to grade the machine readable indicia in thesecond image, wherein the grading of the machine readable indicia in thesecond image is indicative of the grading of the machine readableindicia in the printed content.
 13. The printing apparatus of claim 10,wherein an area of the scaled buffer image is less an area of the bufferimage.
 14. The printing apparatus of claim 10, wherein the buffer imageis scaled based on a scale ratio.
 15. The printing apparatus of claim14, wherein the second location in the printed content are determinedbased on at least the scale ratio and/or one or more mechanicalparameters.
 16. A method for operating a user computing device, themethod comprising: receiving, by a processor, an input from a userpertaining to printing a first image; determining, by the processor, afirst location of a machine readable indicia in the first image;converting, by the processor, to a bit stream; and transmitting, by theprocessor, an instruction to a printing apparatus to print the firstimage, wherein the instruction includes the bit stream, and the firstlocation of the machine readable indicia.
 17. The method of claim 16further comprising scaling the first image to generate scaled firstimage.
 18. The method of claim 17, wherein first location of the machinereadable indicia is determined in the scaled first image.
 19. The methodof claim 16 further comprising scaling, by the processor, the firstimage based on a scale ratio.
 20. The method of claim 19, wherein theinstruction includes the scale ratio.